package com.example.springbootlucenedemo.common.lucene;

import com.example.springbootlucenedemo.common.lucene.bean.Page;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Sort;

import java.util.List;
import java.util.Map;

public interface IndexService<V> {
    /**
     * 批量添加
     * @param iterable
     */
    void addDocument(Iterable<V> iterable );

    /**
     * 添加
     * @param object
     * @return
     */
    Long addDocument(V object );

    Long deleteDocument(V object);
    Long updateDocument(V object);

    org.springframework.data.domain.Page search(Page pageRequest);
    List<Map<String,Object>> search(int pageNumber, int size , Sort sort, Query query);

}
